Welcome to this site about DemoApp 2000 which aims to help you to get started with DemoApp 2000. It will mostly cover the client side of DemoApp 2000
The demoApp 2000 project started in march 2000 and was headed by Ulf Markström at UAB. The aim was to make a more HLR-like traffic generator with new features to help designers, system testers and the customers to test TelORB in a better way.
The designers of this "state of the art" tool are Niclas Blomgren at UAB/F/DU and Keyhan Hadjari at UAB/F/DV. This program was the first assignment for these two and after several months and a lot of new experiences the first release was ready for test at the deadline 27/7 2000.
DemoApp 2000 is of course build upon a complex set of processes, dialogues and database objects(POTs). Here is a list of the processes:
Coordinator process(is Static Unique): Handles the communication from/to the client(TelorbManager), is called De2Co. Its pool is De2CoPool.
Traffic Generator(is Static Replicated): Generates the traffic and prints statistics, is called De2TG.Its pool is De2TGPool.
Populator(Static Replicated): creates and destroys subscribers(databas objects) with wanted keys. It is called De2Pop. Its pool is De2PopPool.
Subscriber(Dynamic Keyed):where the actual database operations are done to the subscribers. It is called De2Sub. Its pool is De2SubPool.
Distributor(Static Replicated): passes the traffic from Trafficgenerator from De2TG to the De2Sub. It is called De2Dis. Its Pool is De2SubPool.
Beside these 5 Processes, there are 2 different Database objects(POTs) in DemoApp 2000 described below:
Subscriber POT: is the Database object on which the traffic is going on. It is keyed and as an attribute it has an array of undefined size(the size is given whhe populating) and an unkeyed POT(used in CREATE/DELETE operation).It is called simply Subscriber. Its pool is De2SubPool.
Coordinator POT: In this POT information about Populated ranges and special flags are stored. It is called De2CoPot. Its pool is De2CoPool.
A very good diagram for DemoApp 2000 is drawn by Antonio Nazzaro att UAB/F/DR. Antonio is also making a special course with DemoApp 2000.
Most of the text here takes up how to configure and startup the client side of the DemoApp2000, but here is a bit of info of how to setup the serverside of the new DemoApp. Here are the steps:
Source R13: source /ipims_dicos/ipims_dicos10/dists/TelORB-R13/setup.csh
Source tbTest1.1: source /ipims_dicos/BS2/tbTest1.1/IP_CONF_INFO/EnvSettings
run epct on the desired target.
The epct file can look like this.
Observe the pools and the different constants set in the epct file:
epct -d axe -F -v Demo2.epct
run DemoApp2000 by entering eprun in Vega or reloading the processors in a real TelORB system.
It is even possible to autostart DemoApp 2000 without starting the
TelorbManager. This is done by giving an extra epct file which
includes environment data as a parameter to epct command.example:
epct -d axe -F -v +c environment.epct Demo2System.epct
this command results in that the environment data is read from environment.epct and then given to the system. After that system has got the data and when it is checked OK It will populate and run on the specified data. The parameters given by environment to the system are:
demo.op1="34" meaning that 34% of the traffic is by op1 or Update (required)
demo.op2="33" meaning that 33% of the traffic is by op2 or Read (required)
demo.op3="33" meaning that 33% of the traffic is by op3 or Create/Delete (required)
demo.op4="0" meaning that 0% of the traffic is by op4 (required)
demo.ttp = "0" meaning that the print interval is set to 0 (optional Default=0)
demo.oSize = "4,7" meaning that object size of the ranges are 4 respective 7 bytes (required)
demo.trace="1" meaning that the trace option is chosen (optional, default=0)
demo.tRate="25" meaning that the traffic rate is 25 calls/sec (required)
demo.lControl="0" meaning if load control is wanted or not (optional, default=0)
demo.sRange="0,1000" meaning start of the first range is 0 and start of the second range is 1000 (required)
demo.sRange="999,20000" meaning end of the first range is 999 and end of the second range is 20000 (required)
After that system has gone through all these parameters and found
that they are set correctly, it will start to populate and run
traffic on the system according to the parameters. Of course one can
start the TelorbManager afterwards and change the settings.
Now
lets look at the client side.
Before Starting the client-side of the DemoApp2000 you need of course to load DemoApp 2000 at a Telorb Station or by Vega. Server-side DemoApp 200 is included in tbTest1.1 in /ipims_dicos/BS2/
For starting the client side of DemoApp 2000 The program called TelORBManager done by Chris Smith at UAB/F/DU, is needed. The program can be run from /home/dicoshack/Hack/tools/TelORBManager1.0. You just need to type ./TelORBManager& for Solaris. I have even got the TelORBManager working on Windows 2000 and Linux, mail me(look at the bottom of the page) for further info about that.After running TelorbManager and giving the correct IP number you see this window

As you can see on the lower side of the picture that DemoApp 2000 is chosen on the slide menu and the show button is then must be pushed for the DemoApp 2000 to be shown. If DemoApp2000 is not shown, it is because the DemoApp2000 is not running on the given host.
After pushing show this is what you should see if everything works as it should

To better understand what is what on the DemoApp2000 I have divided this section to different parts
The Update, Read, Create/Delete and OP4 Labels and the textfields next to them are for choosing the type of the traffic wanted. If just the update operation is wanted, then the textfield next to it should say 100 meaning 100% of the traffic is update. PS The operation OP4 is still not implemented.
The intensity of the traffic is set of course by filling the intensity field
The load control checkbox lets the user to choose if TelORB control over traffic is wanted or not, if it is then TelORB will decide if a given database operation will be done depending on the processor load.
This field allows us to choose the time interval for printouts from the TelORB, but if the interval is set to 0 then the printouts will appear after every 1000 calls.
In this field the size of subscribers created is set.
With this sliding menu you can choose if you want to trace different operations. The only operation that can be traced so far is pop/depop of subscribers.
These two fields are important as the population/depopulation range or the range which the traffic is running on are entered in them.
Populate lets the user create subscribers, the parameters sent to the host from the client are the followings:
Ranging From: shows where the range is started.
Ranging To: shows where the range ends.
Size of Objects: Size of the subscribers being created.
Type of Trace: if the Populating should be traced.
Depopulate is for removing all or some of subscribers, the parameters sent to the host by Depopulate are:
Ranging From: shows where the range is started.
Ranging To: shows where the range ends.
Type of Trace: if the Depopulating should be traced.
When this button is pushed then a window with information about populated ranges is shown, and if the windows is already shown then it will be updated. If there exist is no ranges then the message no ranges will be in that window. An example of that window is shown here below.

Run button starts the C++ traffic and has all of the upper side of the window except trace and Size of object as its parameters.
Stops the C++ traffic.
sums the traffic from all of the generators and returns its statistics from one window.
Works as Run button but instead starts the Java traffic in the specified Range.
Stops the Java traffic.
If you do not understand the meaning of this button then please don't touch it.
Before you start populating or depop check/change the system from/to Netshared Partition Redundancy(NPR). After pushing you either get this message.
or you get this message:

If you have already populated you must depopulate to be able to change from/to NPR
To Configure and run NPR you need to have the netshared flag when starting the TelorbManager. The TelORB Guidelines is a good reference for how to setup and configure NPR. However there are 2 important things to think of
Since the new DemoApp comes with the Populating feature, the way of populating/depopulating the ranges would be in the netshared mode in both zones. It means that If you want to have 10 000 subscribers from 1 to 10 000 then you should populate 1-10 000 in both zone 1 and zone2. What really happens is that zone 1 populates all the subscribers with odd number and zone 2 will populate all subscribers with even number. Same thing when you are depopulating.When using NPR do not populate before you have finished configuring NPR and then you must be in the Netshared mode
Instead of "class ID: 524600, Low DU: 0, High DU: 99" put "class ID:524308, Low DU:0, High DU:999". This is because the ID of the subscriber pot in DemoApp2000 is different from the ID in DemoApp and the distribution limit is set to 1000 in DemoApp2000 instead of 100 in demoapp.
With this function you can instead of putting a long time to populate a complex range by pushing the populate button and changing several textfields just load a population file. A file can look like this. After pushing the button a Filechooser like below opens and lets you choose your file. This function is relatively new and not tested so much.
